/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package upeu.cepre.business;

import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import upeu.cepre.model.Alumno;
import upeu.cepre.model.Sede;

import upeu.cepre.util.DataBaseConexion;

/**
 *
 * @author Elvis Zanguetsu
 */
public class SedeManager {

    public Connection connection;

    public List<Sede> Report() {

        List<Sede> sedes = new ArrayList<Sede>();

        try {

            connection = DataBaseConexion.getConexion();
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("select * from sede");
            while (rs.next()) {
                Sede sede = new Sede();
                sede.setIdSede(rs.getString("idSede"));
                sede.setNombre(rs.getString("nombre"));
                sede.setDireccion(rs.getString("direccion"));
                sede.setCiudad(rs.getString("ciudad"));
                sede.setEstado(rs.getString("estado"));

                sedes.add(sede);
            }

            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return sedes;
    }

    public Sede finById(String idalumno) {
        Sede sede = new Sede();


        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement = connection.prepareStatement("select * from sede where idSede=?");
            preparedStatement.setString(1, idalumno);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {

                sede.setIdSede(rs.getString("idSede"));
                sede.setNombre(rs.getString("nombre"));
                sede.setDireccion(rs.getString("direccion"));
                sede.setCiudad(rs.getString("ciudad"));
                sede.setEstado(rs.getString("estado"));


            }
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return sede;
    }

    public Sede finByNombre(String nombre) {
        Sede sede = new Sede();


        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement = connection.prepareStatement("select * from sede where nombre=?");
            preparedStatement.setString(1, nombre);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {

                sede.setIdSede(rs.getString("idSede"));
                sede.setNombre(rs.getString("nombre"));
                sede.setDireccion(rs.getString("direccion"));
                sede.setCiudad(rs.getString("ciudad"));
                sede.setEstado(rs.getString("estado"));


            }
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return sede;
    }

    /*
     * ADD Sede
     */
    public void Add(Sede sede) {
        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement =
                    connection.prepareStatement(
                    "INSERT INTO sede ( idSede , nombre , direccion , ciudad, estado ) VALUES (?,?,?,?,?)");

            preparedStatement.setString(1, sede.getIdSede());
            preparedStatement.setString(2, sede.getNombre());
            preparedStatement.setString(3, sede.getDireccion());
            preparedStatement.setString(4, sede.getCiudad());
            preparedStatement.setString(5, sede.getEstado());


            preparedStatement.executeUpdate();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }

    public String ObtenerId() {

        java.util.Date ahora = new java.util.Date();
        SimpleDateFormat formateador = new SimpleDateFormat("ddMMyyyy");
        SedeManager trabManager = new SedeManager();
        int a = trabManager.Report().size();
        return formateador.format(ahora) + "DetallePeriodoSede" + (a + 1);

    }
}
